Lambda-calcul et langages fonctionnels
نویسنده
چکیده
Ceci est la version 5 de la première partie du cours de lambda-calcul, datant du 22 février 2017. La version 4 datait du 02 juin 2014 (et contenait encore une erreur dans la démonstration du théorème de standardisation). La version 3 datait du 28 janvier 2011 (bizarrement, je n’avais pas remarqué l’erreur présente depuis dix ans dans la démonstration du théorème de standardisation. Merci à Arthur Milchior), la version 2 datait du 04 mars 2009. La première version datait du 02 août 1999. Un langage fonctionnel est juste un langage dans lequel la notion de fonction (procédure, sous-programme) est centrale. Cette définition vague recouvre les langages fonctionnels dits purs, dans lesquels tout calcul est effectué au moyen d’appels de fonctions (Miranda, Haskell, par exemple); et les langages fonctionnels impératifs (Lisp, ML), dans lesquels il est aussi permis d’effectuer des effets de bord (affectations), comme en Pascal ou en C. Pour prendre un exemple, en OCaml, on peut définir la factorielle par: let rec fact n = if n=0 then 1 else n*fact (n-1);; et calculer la factorielle de 10 en demandant:
منابع مشابه
Control-Driven Data Flow
This paper presents CDDF, a model of computation underpinning the formal seman-tics of a number of parallel programming languages. CDDF integrates control ow elements for thedynamic construction of task graphs, and data ow elements to express dependent computationsand to decouple these using unbounded streams (Kahn process networks). It is a common groundto de ne the formal sema...
متن کاملMachines, Interprètes
Ceci est la version 3 de la troisième partie du cours de lambda-calcul, datant du 02 juin 2014. La version 2 datait du 28 janvier 2011. La première version datait du 15 avril 2002. Merci à Hang Zhou et à Arthur Milchior. Aucune machine réelle n’exécute directement la relation de β-réduction du λcalcul, ou même d’un langage fonctionnel plus pratique comme Caml ou Haskell. Il est donc nécessaire ...
متن کاملEncoding rewriting strategies in λ-calculi with patterns
We propose a patch to the pure pattern calculus: we claim that this is strictly more powerful to define the application of the match fail as the pure λ-term defining the boolean false instead of the identity function as it is done in the original version of the pure pattern calculus [JK09]. We show that using non algebraic patterns we are able to encode in a natural way any rewriting strategies...
متن کاملDéveloppement de systèmes à l’aide d’AADL - Ocarina/Cheddar
La construction de systèmes embarqués critiques temps réel suppose de définir conjointement les aspects fonctionnels (algorithmes de calcul, logique de décision) et les aspects non fonctionnels (paramètres de qualité de service, échéances). Afin de valider que le système embarqué critique temps réel est correct, il est souvent nécessaire de disposer d’une vue complète de l’architecture logiciel...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006